Permissions Management এবং Runtime Permissions গাইড ও নোট

Mobile App Development - ডট নেট এমআইইউআই (.NET MAUI) - Device APIs এবং Permissions
354

Permissions Management এবং Runtime Permissions হল মোবাইল অ্যাপ্লিকেশনে নিরাপত্তা এবং ব্যবহারকারীর অনুমতির উপর ভিত্তি করে অ্যাক্সেস কন্ট্রোল করার প্রক্রিয়া। .NET MAUI তে অ্যাপ্লিকেশন তৈরি করার সময়, বিভিন্ন ধরনের অনুমতির (permissions) প্রয়োজন হতে পারে, যেমন ক্যামেরা, লোকেশন, মাইক্রোফোন অ্যাক্সেস ইত্যাদি। Runtime Permissions ব্যবহারকারীর সম্মতির ভিত্তিতে প্রদান করা হয় এবং Permissions Management ব্যবস্থার মাধ্যমে অ্যাপ্লিকেশন এই অনুমতিগুলি পরিচালনা করতে পারে।

Permissions Management:

Permissions Management হল অ্যাপ্লিকেশন বা সফটওয়্যার দ্বারা ব্যবহৃত অনুমতিগুলি পরিচালনা করার প্রক্রিয়া। এটি নিশ্চিত করে যে অ্যাপ্লিকেশন ব্যবহারকারীর অনুমতি ছাড়া কোনো সংবেদনশীল বা ব্যক্তিগত তথ্য অ্যাক্সেস না করে।

Runtime Permissions:

Runtime Permissions হল সেই সমস্ত অনুমতি যা অ্যাপ্লিকেশন ইনস্টল হওয়ার পরে রানটাইমে ব্যবহারকারীর কাছ থেকে আবেদন করতে হয়। Android এবং iOS উভয় প্ল্যাটফর্মে এটি ব্যবহারকারীকে অ্যাপ্লিকেশন চলার সময় বিভিন্ন অ্যাক্সেসের জন্য অনুমতি দেয়।

.NET MAUI তে Permissions Management

.NET MAUI তে Permissions API ব্যবহার করে বিভিন্ন ধরনের অনুমতি ব্যবস্থাপনা করা যায়। .NET MAUI তে Permissions হ্যান্ডেল করার জন্য Microsoft.Maui.Essentials.Permissions নামের লাইব্রেরি রয়েছে, যা সমস্ত প্রয়োজনীয় অনুমতি ম্যানেজ করতে সক্ষম।

.NET MAUI তে Permissions ব্যবহারের ধাপগুলো:

১. Permissions API ইনস্টলেশন

Microsoft.Maui.Essentials লাইব্রেরিটি ডিফল্টভাবে .NET MAUI অ্যাপ্লিকেশনে অন্তর্ভুক্ত থাকে, তাই আপনাকে আলাদাভাবে এটি ইনস্টল করার প্রয়োজন নেই। তবে, এটি নিশ্চিত করতে হবে যে অ্যাপ্লিকেশনটি সঠিকভাবে কনফিগার করা হয়েছে।

২. Permissions এর জন্য কনফিগারেশন

Android এবং iOS তে Permissions ব্যবহারের জন্য আপনাকে প্রতিটি প্ল্যাটফর্মে কিছু কনফিগারেশন সেট করতে হবে।

Android (AndroidManifest.xml):

আপনার AndroidManifest.xml ফাইলে অনুমতিগুলির জন্য এনট্রি যোগ করুন। উদাহরণস্বরূপ, ক্যামেরা এবং লোকেশন অ্যাক্সেসের জন্য:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
iOS (Info.plist):

iOS এর জন্য, আপনাকে Info.plist ফাইলে অনুমতি ব্যাখ্যা করতে হবে। উদাহরণস্বরূপ:

<key>NSCameraUsageDescription</key>
<string>This app requires camera access for scanning QR codes.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>This app requires location access for showing your position on the map.</string>

৩. Runtime Permissions চেক এবং রিকোয়েস্ট করা

.NET MAUI তে, Permissions.RequestAsync এবং Permissions.CheckStatusAsync মেথড ব্যবহার করে আপনি অনুমতিগুলি চেক এবং রিকোয়েস্ট করতে পারেন।

Permissions চেক করা:

এটি ব্যবহারকারীর অনুমতি স্টেটাস চেক করতে সহায়ক। উদাহরণস্বরূপ, ক্যামেরার জন্য অনুমতি চেক করা:

var status = await Permissions.CheckStatusAsync<Permissions.Camera>();

if (status == PermissionStatus.Granted)
{
    // Camera permission is granted
}
else
{
    // Camera permission is not granted
}

Permissions রিকোয়েস্ট করা:

যদি অনুমতি প্রদান না করা হয়, তবে আপনাকে এটি রিকোয়েস্ট করতে হবে। উদাহরণস্বরূপ:

if (status != PermissionStatus.Granted)
{
    status = await Permissions.RequestAsync<Permissions.Camera>();
}

এখানে:

  • Permissions.CheckStatusAsync<Permissions.Camera>(): ক্যামেরার অনুমতির বর্তমান স্টেটাস চেক করে।
  • Permissions.RequestAsync<Permissions.Camera>(): ক্যামেরা অনুমতির জন্য রিকোয়েস্ট করা হয় যদি এটি আগের অবস্থানে Denied বা Restricted থাকে।

৪. Permissions Request Example

এখন, একটি উদাহরণ দেখি যেখানে ক্যামেরা এবং লোকেশন অনুমতি রিকোয়েস্ট করা হচ্ছে।

using Microsoft.Maui.Essentials;

public async Task RequestPermissionsAsync()
{
    // Check and request Camera permission
    var cameraStatus = await Permissions.CheckStatusAsync<Permissions.Camera>();
    if (cameraStatus != PermissionStatus.Granted)
    {
        cameraStatus = await Permissions.RequestAsync<Permissions.Camera>();
    }

    // Check and request Location permission
    var locationStatus = await Permissions.CheckStatusAsync<Permissions.LocationWhenInUse>();
    if (locationStatus != PermissionStatus.Granted)
    {
        locationStatus = await Permissions.RequestAsync<Permissions.LocationWhenInUse>();
    }

    // Handle results
    if (cameraStatus == PermissionStatus.Granted)
    {
        Console.WriteLine("Camera permission granted");
    }
    else
    {
        Console.WriteLine("Camera permission denied");
    }

    if (locationStatus == PermissionStatus.Granted)
    {
        Console.WriteLine("Location permission granted");
    }
    else
    {
        Console.WriteLine("Location permission denied");
    }
}

এখানে:

  • Permissions.CheckStatusAsync প্রথমে চেক করে যে অনুমতি দেয়া হয়েছে কিনা।
  • Permissions.RequestAsync ব্যবহারকারীর কাছ থেকে অনুমতি চাওয়ার জন্য ব্যবহৃত হয় যদি এটি আগের অবস্থায় Denied বা Restricted থাকে।
  • অনুমতির স্ট্যাটাস অনুযায়ী অ্যাকশন নেওয়া হয় (যেমন ক্যামেরা বা লোকেশন অ্যাক্সেস করা)।

৫. Permissions এর স্টেটাস (Status)

PermissionStatus ৩টি মুল স্টেটাস ধারণ করে:

  • Granted: ব্যবহারকারী অনুমতি দিয়েছেন।
  • Denied: ব্যবহারকারী অনুমতি দেননি।
  • Restricted: প্ল্যাটফর্মের কারণে (যেমন iOS-এ রেটেড অ্যাপ্লিকেশন সেটিংস) অনুমতি সীমাবদ্ধ।

সারাংশ:

  • Permissions Management এবং Runtime Permissions এর মাধ্যমে .NET MAUI অ্যাপ্লিকেশনগুলোতে ব্যবহারকারীর অনুমতি চেক ও রিকোয়েস্ট করা হয়।
  • Permissions API ব্যবহার করে অ্যাপ্লিকেশনগুলো নিরাপদভাবে সিস্টেম রিসোর্স (যেমন ক্যামেরা, লোকেশন, মাইক্রোফোন) অ্যাক্সেস করতে পারে।
  • Permissions.CheckStatusAsync এবং Permissions.RequestAsync মেথড ব্যবহার করে যথাযথ অনুমতি চেক এবং রিকোয়েস্ট করা যায়।
  • Android এবং iOS উভয় প্ল্যাটফর্মে আপনাকে যথাযথ কনফিগারেশন করতে হয় যাতে অ্যাপ্লিকেশন সঠিকভাবে অনুমতি প্রাপ্ত হতে পারে।
Content added By
Promotion

Are you sure to start over?

Loading...